class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int hash[128] = {0};    // 定义一个数组替代哈希表
        int n = s.size(), len = 0;
        for(int left = 0, right = 0; right < n; right++)
        {
            hash[s[right]]++;    // 进入哈希表
            while(hash[s[right]] > 1)    // 判断条件
                hash[s[left++]]--;  // 出窗口

            len = max(len, right - left + 1);   // 更新结果
        }
        return len;
    }
};